package com.atguigu.bigdata.scala.chapter08;

public class Scala01_Match_Java {
    public static void main(String[] args) {

        // switch语法称之为多重分支判断
        // 进行分支判断时，从第一个case依次比对，比对成功后，执行相应case语句冒号后面的内容
        // 如果比对不成功，会继续向后进行比对，如果所有的分支都比对不成功，那么会执行default语句（如果有）
        // 如果全部分支都不匹配，而且defaul分支也不存在，那么什么都不做，继续执行

        // java中的switch语法存在一个switch穿透现象：
        // 如果一个分支匹配成功，那么会执行冒号后面的内容，如果执行时，没有跳出的逻辑
        // 会继续向后执行，即使后面的分支匹配不成功，也会执行。
        // 如果不想要出现穿透现象。那么需要在每一个分支逻辑的最后，增加break关键字

        // 这里的穿透现象会导致歧义，所以一般情况下不推荐使用,最好是每一个分支都有break

        // default分支可以放置在前面的
        int age = 40;
        switch (age) {
            case 10 :
                System.out.println("年龄为10");
                //break;
            case 20 :
                System.out.println("年龄为20");
                break;
            case 30 :
                System.out.println("年龄为30");
                break;
//            default:
//                System.out.println("其他");
//                break;
        }

    }
}
